--- Hit flags for TraceLine.
HitFlags = {
	M2Collision,
	M2Render,
	WMOCollision,
	WMORender,
	Terrain,
	WaterWalkableLiquid,
	Liquid,
	EntityCollision,
};

--- Simulate a click at a position in the game-world.
-- @param X The X coordinate.
-- @param Y The Y coordinate.
-- @param Z The Z coordinate.
-- @param Right Whether the click should be a right click. Optional.
function ClickPosition (X, Y, Z[, Right]) end

--- Get whether an AoE spell is pending a target.
-- @return Whether an AoE spell is pending a target.
function IsAoEPending () end

--- Cancel the pending spell.
function CancelPendingSpell () end

--- Get the timestamp.
-- @return The timestamp.
function GetTimestamp () end

--- Execute a traceline between two points, detecting objects between them.
-- @param StartX The X coordinate of the start point.
-- @param StartY The Y coordinate of the start point.
-- @param StartZ The Z coordinate of the start point.
-- @param EndX The X coordinate of the start point.
-- @param EndY The Y coordinate of the start point.
-- @param EndZ The Z coordinate of the start point.
-- @param Flags The hit flags. One or more members of HitFlags combined with bit.bor.
-- @return The X, Y, and Z coordinate of the first hit between the points, or three nils.
function TraceLine (StartX, StartY, StartZ, EndX, EndY, EndZ, Flags) end

--- Get the position of the camera.
-- @return The X, Y, and Z coordinates of the camera.
function GetCameraPosition () end

--- Get the field of view.
-- @return The field of view
function GetFieldOfView () end

--- Set the field of view.
-- @param Value The new field of view.
function SetFieldOfView (Value) end